Пульт.Онлайн /

Алгоритм работы

Запуск сервера

  1. На устройство, выбранное в качестве сервера, выполняется установка сервера (одной командой через SSH-терминал)
  2. Команда запуска ПО сервера автоматически добавляется в автозагрузку устройства
  3. Опционально, в интерфейсе настроек или через конфиги задаются первоначальные настройки сервера (порт веб-интерфейса, использование SSL и тп.)
  4. Веб-интерфейс сервера доступен на указанном в настройках порту (обычно 80 или 443)
  5. В веб-интерфейсе создается проект, добавляются пользователи, добавляются шлюзы, узлы, рисуются мнемосхемы
  6. Выполняется сборка проекта
  7. Сервер готов к обработке данных со шлюзов или с локальных узлов

Запуск шлюза

  1. На устройство, выбранное в качестве шлюза, выполняется установка шлюза (одной командой через SSH-терминал)
  2. Мастер установки запрашивает параметры подключения к серверу (хост, порт и тп)
  3. Команда запуска ПО шлюза автоматически добавляется в автозагрузку устройства
  4. Веб-интерфейс шлюза доступен на порту 8008 (если в настройках не задано иное значение)
  5. При необходимости, через интерфейс возможно выполнить дополнительную настройку шлюза (отключить ненужные сервисы, включить логирование, изменить пароль, настроить перезагрузку при отсутствии связи и тп.)
  6. Шлюз в бесконечном цикле начинает выполнять попытки подключения к серверу

Коммуникация Сервер-Шлюз

  1. Шлюз устанавливает исходящее соединение с сервером (не требуются белые IP)
  2. Сервер принимает подключение и подписывается на изменения переменных
  3. Шлюз загружает с сервера сборку (список переменных для мониторинга и управления, наборы скриптов и расписаний)
  4. Шлюз в фоновом режиме с помощью имеющихся драйверов выполняет опрос переменных, выполняет скрипты и расписания (независимо от наличия связи с сервером)
  5. Изменения значений переменных отправляются на сервер
  6. Сервер отображает изменения на мнемосхемах, записывает тренды, журналирует аварии и генерирует уведомления пользователям при возникновении актуальных для них событий (согласно настройкам групп)
  7. При отсутствии связи изменения сохраняются в кольцевом буфере для последующей отправки
  8. При получении от сервера команды на установку нового значения, шлюз адресует команду соответствующему драйверу и возвращает серверу в ответ результат выполнения команды (успех или код ошибки)
  9. При изменении проекта сервер автоматически формирует для шлюза новую сборку и отправляет шлюзу уведомление о необходимости загрузить новую сборку (см. п. 3)

Работа пользователей

  1. Пользователь, используя ПК, ноутбук или мобильное устройство, с помощью веб-браузера открывает веб-интерфейс сервера (см. Запуск сервера, п.3)
  2. Пользователь выполняет авторизацию и получает права доступа, соответствующие настройкам групп
  3. В соответствии с правами доступа пользователь получает доступ к проектам и их разделам (узлы, мнемосхемы, исторические данные, отчеты и тп.)
  4. С помощью мнемосхем и системных инструментов Пользователь выполняет мониторинг и управление элементами проектов (узлами и отдельными переменными)
  5. Сервер уведомляет пользователя об актуальных событиях (аварии, предупреждения и тп.) по доступным каналам (аудиовизуально через интерфейс, с помощью SMS-, Telegram- и Email-уведомлений)

  Email
  SMS